﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using negocios;
using publico;
using objetos;

namespace softsales.pagina.nf_numeracao
{
    public partial class nf_numeracao_formulario : System.Web.UI.Page
    {
        BLL_TB_NF_NUMERACAO b_tb_numeracao = new BLL_TB_NF_NUMERACAO();
        OBJ_TB_NF_NUMERACAO o_tb_numeracao = new OBJ_TB_NF_NUMERACAO();

        BLL_TB_EMPRESA b_tb_empresa = new BLL_TB_EMPRESA();

        BLL_TB_LOG_ERRO b_tb_log_erro = new BLL_TB_LOG_ERRO();
        BLL_TB_NF_OPERACAO b_tb_nf_operacao = new BLL_TB_NF_OPERACAO();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (PUB_SESSAO.Logado())
            {
                if (!IsPostBack)
                {
                    b_tb_empresa.PreencheControleWeb(DDL_ID_EMPRESA, true);
                    CHK_SIT_ATIVO.Checked = true;
                
                    if (Request["id"] != null)
                    {
                        LBL_TITULO_PAGINA.Text = "Editar Nfe Numeração";
                        if (PUB_FUNCOES.ApenasNumero(Request["id"].ToString()))
                        {
                            Editar(Request["id"].ToString());
                        }
                    }
                    else
                    {
                        LBL_TITULO_PAGINA.Text = "Incluir Nfe Numeração";
                    }

                }
            }

        }

        private void Editar(String id)
        {
            try
            {
                o_tb_numeracao = b_tb_numeracao.SelecionarObjetoPorId(Convert.ToInt32(id));

                HF_ID.Value = o_tb_numeracao.id.ToString();
                DDL_ANO.SelectedValue = o_tb_numeracao.ano.ToString();
                TXT_NUM_NOTA_FISCAL.Text = o_tb_numeracao.num_nota_fiscal.ToString();
                TXT_SERIE.Text = o_tb_numeracao.serie.ToString();
                DDL_ID_EMPRESA.SelectedValue = o_tb_numeracao.id_empresa.ToString();
            }
            catch (Exception)
            {

                Master.MSG_ALERTA("Erro ao tentar carregar o formulario.");
            }
          

        }

        protected void BTN_SALVAR_Click(object sender, EventArgs e)
        {
            try
            {
                string msg = string.Empty;
                if (DDL_ID_EMPRESA.SelectedValue != string.Empty && TXT_SERIE.Text != string.Empty && TXT_NUM_NOTA_FISCAL.Text != string.Empty && DDL_ANO.SelectedValue != string.Empty)
                {
                    o_tb_numeracao.ano = Convert.ToInt32(DDL_ANO.SelectedValue);
                    o_tb_numeracao.id_empresa = Convert.ToInt32(DDL_ID_EMPRESA.SelectedValue);                   
                    o_tb_numeracao.id_usuario = PUB_SESSAO.Id;
                    o_tb_numeracao.num_nota_fiscal = Convert.ToInt32(TXT_NUM_NOTA_FISCAL.Text);
                    o_tb_numeracao.serie = TXT_SERIE.Text;
                    o_tb_numeracao.sit_ativo = Convert.ToBoolean(CHK_SIT_ATIVO.Checked);
                    o_tb_numeracao.dt_atualizacao = DateTime.Now;

                    if (HF_ID.Value != string.Empty)
                    {
                        o_tb_numeracao.id = Convert.ToInt32(HF_ID.Value);
                        b_tb_numeracao.Alterar(o_tb_numeracao);
                        msg = PUB_MENSAGEM.MSG_ALTERACAO;
                    }
                    else
                    {
                        b_tb_numeracao.Incluir(o_tb_numeracao);
                         msg = PUB_MENSAGEM.MSG_INCLUSAO;
                       
                    }

                    Master.MSG_ALERTA(msg, "default.aspx", false);

                }
            }
            catch (Exception ex)
            {

                b_tb_log_erro.IncluirLogErro(ex);
                Master.MSG_ALERTA("Erro ao tentar salvar o formulario");
            }


        }

        protected void BTN_CANCELAR_Click(object sender, EventArgs e)
        {
            Response.Redirect("default.aspx", false);
        }
    }
}